# 读取文件内容
# 方式1：使用open打开文件，使用read()读取文件内容，最后使用close()关闭文件
from common_functions import cut_block as cb
cb("方式1：使用open打开文件")
# 第一个参数: 文件路径; 可以是相对路径，也可以是绝对路径
# 第二个参数: 打开文件的模式
#       r代表read，即读取；
#       w代表write，即写入。
#       对于二进制的文件，需要加一个b:例如读取二进制文件使用'rb'
t = open('content/pi.txt', 'r')
pi = t.read()
t.close()
print(pi)
# 使用这种方式需要注意:
# 1. 打开文件后，需要使用close()方法关闭文件，否则会占用系统资源
# 2. 需保证路径正确，否则会报错
# 为了避免忘记关闭文件,可以使用with语句发开文件
cb("方式2：使用with语句打开文件")
with open('content/pi.txt', 'r') as t:
    pi = t.read()
    print(pi)

# 绝对路径:从根目录开始写
# 例如: D:/zrk/python_learn/part12文件/content/pi.txt
cb("方式3：使用绝对路径打开文件")
with open('D:/zrk/python_learn/part12文件/content/pi.txt', 'r') as t:
    pi = t.read()
    print(pi)

cb("按行分割文本内容")
with open('content/pi.txt', 'r') as t:
    pi = t.read()
    s = ''
    print(type(pi))
    line_list = pi.splitlines()
    for line in line_list:
        s += line.strip()
    print(s)

cb("readline函数")
with open('content/pi.txt', 'r') as t:
    print("第一行:", t.readline(), end='')
    print("第二行:", t.readline(), end='')
    print("第三行:", t.readline(), end='')
